package com.ruoyi.plus.pub.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.plus.pub.domain.PubResourcesClass;

import java.util.List;

/**
 * 资源分类管理Service接口
 */
public interface IPubResourcesClassService extends IService<PubResourcesClass> {

    /**
     * 查询资源分类管理列表
     *
     * @param pubResourcesClass 资源分类管理
     * @return 资源分类管理集合
     */
    List<PubResourcesClass> selectPubResourcesClassList(PubResourcesClass pubResourcesClass);

    /**
     * 删除资源分类(若存在子分类,则不允许删除)
     *
     * @param id 资源分类id
     * @return 删除结果
     */
    AjaxResult deleteResourcesClass(Long id);

    /**
     * 添加资源分类
     *
     * @param pubResourcesClass 资源分类信息
     * @return 添加结果
     */
    AjaxResult addResourcesClass(PubResourcesClass pubResourcesClass);

    /**
     * 更新资源分类
     *
     * @param pubResourcesClass 资源分类信息
     * @return 添加结果
     */
    AjaxResult updateResourcesClass(PubResourcesClass pubResourcesClass);

    /**
     * 获取资源分类下拉树列表
     *
     * @param pubResourcesClasses 资源分类集合
     * @return 资源分类树集合
     */
    List<TreeSelect> buildTemplateClassTreeSelect(List<PubResourcesClass> pubResourcesClasses);
}
